Skip to content

libdatadog update to 21962c07 - #4291

Merged
bwoebi merged 3 commits into
masterfrom
bot/libdatadog-latest
Oct 23, 2026
Merged

bwoebi merged 3 commits into
masterfrom
bot/libdatadog-latest

Conversation

@dd-octo-sts

@dd-octo-sts dd-octo-sts Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Automated update of the libdatadog submodule to the latest HEAD.

SHA
Previous $LIBDATADOG_PINNED_SHA
New 21962c07061b324669aaf9e58cc7cefce7227b7c

Full CI result: ❌ 244 job(s) failed
CI pipeline: https://gitlab.ddbuild.io/DataDog/apm-reliability/dd-trace-php/-/pipelines/146961638


libdatadog Integration Report

libdatadog SHA: 21962c07061b324669aaf9e58cc7cefce7227b7c
Analysis date: 2026-10-23

Overall status

⚠️ Adapted (API changes fixed)

The changes are build-manifest changes, not Rust source changes. They could not
be checked locally because no Rust toolchain is available. CI must confirm them.

Build & test summary

244 jobs failed across the shared, appsec, profiler, package and tracer
sub-pipelines. Every saved trace (45 + 48 of 93 files) shows one of two Cargo
errors. Both happen while Cargo reads the manifests or resolves dependencies,
before any Rust code is compiled:

  1. Workspace inheritance failure (48 traces: appsec integration tests,
    helper-rust, sidecar and portable builds):

    error: failed to load manifest for workspace member `/project/sidecar`
    ...
    failed to parse manifest at `/project/libdatadog/libdd-common/Cargo.toml`
    error inheriting `webpki-root-certs` from workspace root manifest's
    `workspace.dependencies.webpki-root-certs`
    `dependency.webpki-root-certs` was not found in `workspace.dependencies`
    

    libdatadog crates are built as members of our workspace, so they inherit
    workspace = true dependencies from our root Cargo.toml. That file must
    mirror libdatadog's [workspace.dependencies]. The new libdatadog added
    these entries:

    It also raised the rustls-webpki requirement to 0.103.16 (Use valgrind suppressions instead of disabling valgrind #2708).

  2. rustls-webpki resolution conflict (45 traces: appsec code coverage,
    test appsec extension, profiling tests):

    error: failed to select a version for `rustls-webpki`.
    ... rustls = "^0.23" (locked to 0.23.37) of package `libdd-common v8.0.0`
    versions that meet the requirements `^0.103.5` (locked to 0.103.13) are: 0.103.13
    previously selected package `rustls-webpki v0.103.16`
      ... which satisfies dependency `rustls-webpki = "^0.103.16"` of package `libdd-common`
    

    libdd-common now requires rustls-webpki ^0.103.16. Our Cargo.lock still
    pinned 0.103.13, and these jobs resolve with only the locked version
    available, so resolution fails.

The remaining job families have no saved traces: Extension Tea Tests, Zend
Abstract Interface Tests, ZAI Shared Tests, PHP language tests,
prof-correctness, Clippy, Cargo test and pecl tests. They all build the same
Cargo workspace first:

  • ZAI through zend_abstract_interface/components_rs.cmake
  • Tea through make install
  • the profiler jobs through cargo
  • pecl through the packaged Cargo.toml/Cargo.lock

So they fail for the same reason.

Rust API review of the update

The submodule moved from 634af2c84 to 21962c070 (25 commits). I checked
each breaking (!) commit against our code:

Commit Change Impact on dd-trace-php
c387867eb fix(ipc)!: require ShmSafe ShmLimiter<Inner> / ShmLimiterMemory<Inner> now need Inner: ShmSafe We only use Inner = () (components-rs/sidecar.rs). libdatadog already implements ShmSafe for (), so nothing to change.
ce77b3f5a move AttributeValue into libdd-trace-model New path crate libdd-trace-model No source impact (we don't use AttributeValue). Added a Cargo.lock entry.
1967b8144 wire v1 payload to trace exporter TraceFilterer::filter_traces_v1 now takes PooledTraceChunks We only call TraceFilterer::new (components-rs/trace_filter.rs). No impact.
75d4447eb v1-native span obfuscation Additions in libdd-trace-obfuscation Not used directly. No impact.
623c072bb crashtracker: Windows module filter WER callbacks changed to extern "system"; collector_windows removed from the ffi crate's Windows default features We depend on libdd-crashtracker-ffi with default-features = false, features = ["collector"] and don't use ddog_crasht_init_windows. No impact.

Non-trivial changes made

  • Cargo.toml ([workspace.dependencies]): re-synced with
    libdatadog/Cargo.toml as the file's own comment asks:

    • added httpdate = "1.0"
    • added webpki-roots = "1.0.10"
    • added webpki-root-certs = "1.0.10"
    • changed rustls-webpki from ">=0.103.13" to "0.103.16"

    The two [workspace.dependencies] lists are now identical (checked with
    diff).

  • Cargo.lock: brought in line with the new requirements. All versions
    and checksums are copied from libdatadog/Cargo.lock:

    • rustls-webpki 0.103.13 → 0.103.16
    • webpki-roots 1.0.6 → 1.0.10
    • webpki-root-certs 1.0.6 → 1.0.10
    • new libdd-trace-model 0.1.0 path package, now referenced from
      libdd-tinybytes, libdd-trace-obfuscation and libdd-trace-utils
    • libdd-common now lists webpki-roots and webpki-root-certs (optional
      deps of the use_webpki_roots feature)
    • libdd-ffe now lists its new optional CDN dependencies: base64 0.22.1,
      fastrand, flate2, futures-util, http-body-util, httpdate,
      hyper, percent-encoding, tokio-util and url

    Each of these crates already had exactly one compatible version in the lock.
    If Cargo still wants to adjust anything it can do so automatically, because
    our builds do not pass --locked. Rerunning cargo update -w locally is
    still a good idea, to normalise the lock file.

No Rust source files needed changes.

Identified libdatadog issues

None identified.

One design friction point, not a bug: every new [workspace.dependencies]
entry in libdatadog breaks dd-trace-php until our mirror in the root
Cargo.toml is updated by hand. Automating that sync, or adding a CI check for
it, would avoid this kind of failure.

Flaky / ignored failures

  • [tracer-trigger] macos test_c: failed with job_execution_timeout
    rather than a script failure, and no trace was saved. It most likely depends
    on the same Cargo build and will be fixed with it. If it still times out once
    the build works, treat it as a runner or infrastructure timeout.
  • Some affected job families are listed in .gitlab/flaky-jobs.txt and are
    excluded from the merge gate: Extension Tea Tests:*, Zend Abstract Interface Tests:*, test appsec extension:* and PHP language tests:*.
    In this pipeline they failed for the same build reason, not because they are
    flaky.

/cc @bwoebi

@dd-octo-sts
dd-octo-sts Bot requested review from a team as code owners October 8, 2026 06:52
@dd-octo-sts
dd-octo-sts Bot requested review from danyal002 and sameerank and removed request for a team October 8, 2026 06:52
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@datadog-datadog-prod-us1

datadog-datadog-prod-us1 Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Pipelines  Tests

✨ Unblock PR with BitsAI

❌ Errors

Your PR has failed checks. Please review the issues below and take necessary action before merging.

🚦 4 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-php | merge-gate — 🔧 Needs a code fix, caused by this PR

View more details · View in GitLab

DataDog/apm-reliability/dd-trace-php | framework test: [flow_no_ddtrace] — 🔄 Retry may pass, looks flaky

View more details · View in GitLab

DataDog/apm-reliability/dd-trace-php | framework test: [flow]

View more details · View in GitLab

View all 4 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🎯 Code Coverage (details)
• Patch Coverage: 100.00%
• Overall Coverage: 74.36% (+0.00%)

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 8414c27 | Docs | View more details | Give us feedback!

@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to 45968e56 libdatadog update to a887c164 Oct 9, 2026
@dd-octo-sts
dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch 5 times, most recently from 25ec9c6 to 4b1f716 Compare October 14, 2026 05:16
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to a887c164 libdatadog update to 2d7e649a Oct 14, 2026
@dd-octo-sts
dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch from a9d6e21 to 23d4e93 Compare October 15, 2026 04:13
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to 2d7e649a libdatadog update to 4e6f5096 Oct 15, 2026
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to 4e6f5096 libdatadog update to 3a9e983a Oct 17, 2026
@dd-octo-sts
dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch 4 times, most recently from 278672b to 21f077a Compare October 20, 2026 04:19
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to 3a9e983a libdatadog update to c3b0ee0a Oct 20, 2026
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to c3b0ee0a libdatadog update to 34a97764 Oct 21, 2026
@dd-octo-sts
dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch from 3832631 to 804fd86 Compare October 21, 2026 02:33
@dd-octo-sts
dd-octo-sts Bot requested a review from a team as a code owner October 21, 2026 02:56

@datadog-datadog-prod-us1 datadog-datadog-prod-us1 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: FAIL

The updated webpki requirements conflict with the committed Cargo.lock. On a dependency-cache miss, the sanitizer workflow’s locked fetch will fail before the ASAN/UBSAN matrices can run.

Open Bits AI session

🤖 Bits Code Review · Commit f833984

Comment thread Cargo.toml
@pr-commenter

pr-commenter Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Benchmarks [ tracer ]

Benchmark execution time: 2026-10-23 17:09:28

Comparing candidate commit 8414c27 in PR branch bot/libdatadog-latest with baseline commit 04b8525 in branch master.

📊 Benchmarking dashboard

Found 0 performance improvements and 5 performance regressions! Performance is the same for 189 metrics, 0 unstable metrics.

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:ComposerTelemetryBench/benchTelemetryParsing-opcache

  • 🟥 execution_time [+0.418µs; +1.782µs] or [+2.612%; +11.138%]

scenario:MessagePackSerializationBench/benchMessagePackSerialization

  • 🟥 execution_time [+4.711µs; +5.969µs] or [+4.308%; +5.459%]

scenario:MessagePackSerializationBench/benchMessagePackSerialization-opcache

  • 🟥 execution_time [+5.933µs; +7.387µs] or [+5.375%; +6.692%]

scenario:SamplingRuleMatchingBench/benchRegexMatching1

  • 🟥 execution_time [+36.914ns; +86.486ns] or [+2.518%; +5.900%]

scenario:SamplingRuleMatchingBench/benchRegexMatching4

  • 🟥 execution_time [+40.789ns; +107.811ns] or [+2.767%; +7.315%]

@Leiyks
Leiyks force-pushed the bot/libdatadog-latest branch from f833984 to 024f856 Compare October 21, 2026 11:57
@Leiyks
Leiyks requested a review from a team as a code owner October 21, 2026 11:57

@datadog-datadog-prod-us1 datadog-datadog-prod-us1 Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bits Code Review: PASS

More details

The workspace dependency additions and lockfile are consistent, and the removed Windows callback declarations have no callers in the accessible code. The updated libdatadog sources and build behavior remain incompletely verified.

Was this helpful? React 👍 or 👎

Open Bits AI session

🤖 Bits Code Review · Commit 024f856

@dd-octo-sts
dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch from 024f856 to 4f05125 Compare October 22, 2026 02:33
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to 34a97764 libdatadog update to bbe4173a Oct 22, 2026
@dd-octo-sts
dd-octo-sts Bot force-pushed the bot/libdatadog-latest branch from d25a418 to 0a01a83 Compare October 23, 2026 02:31
@dd-octo-sts dd-octo-sts Bot changed the title libdatadog update to bbe4173a libdatadog update to 21962c07 Oct 23, 2026
@bwoebi
bwoebi force-pushed the bot/libdatadog-latest branch from fce6c28 to 8414c27 Compare October 23, 2026 15:58
@bwoebi
bwoebi merged commit 2e9a4c5 into master Oct 23, 2026
2195 of 2200 checks passed
@bwoebi
bwoebi deleted the bot/libdatadog-latest branch October 23, 2026 17:15
@github-actions github-actions Bot added this to the 1.27.0 milestone Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant